package com.chezhujie.www.service;

import com.chezhujie.www.domain.Czjfestivalact;
import com.chezhujie.www.enums.OrderType;
import com.chezhujie.www.persistence.CzjfestivalactMapper;
import com.sys.core.page.Pagination;
import com.sys.core.utils.UUIDUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service("festivalactService")
public class CzjfestivalactService {
	
	@Autowired
	private CzjfestivalactMapper festivalactMapper;

	
	/***
	 * 
	 * 方法名：getFestList
	 * 创建人：RUI
	 * 时间：2017年5月23日-下午1:21:03 
	 * @param param
	 * @param pageSize
	 * @param pageNo
	 * @return Pagination
	 * @exception 
	 * @since  1.0.0
	 */
	public Pagination getFestList(Map<String, Object> param, Integer pageSize,
			Integer pageNo) {
		Pagination p = new Pagination();
		p.setPageNo(pageNo);
		p.setPageSize(pageSize);
		param.putAll(p.toMap());
		int count=festivalactMapper.getTotalRows(param);
		List<Czjfestivalact> list=festivalactMapper.getFestList(param);
		p.setList(list);
		p.setTotalCount(count);
		return p;
	}


	/**
	 * 
	 * 方法名：getCzjfestivalact 根据主键获取实体对象
	 * 创建人：RUI
	 * 时间：2017年5月23日-下午3:57:07 
	 * @param param
	 * @return Czjfestivalact
	 * @exception 
	 * @since  1.0.0
	 */
	public Czjfestivalact getCzjfestivalact(Map<String, Object> param) {
		
		return festivalactMapper.getCzjfestivalact(param);
	}


	/***
	 * 
	 * 方法名：getFestListThree 查询最近的活动前三个
	 * 创建人：RUI
	 * 时间：2017年5月23日-下午3:57:32 
	 * @return List<Czjfestivalact>
	 * @exception 
	 * @since  1.0.0
	 */
	public List<Czjfestivalact> getFestListUp() {
		return festivalactMapper.getFestListUp();
	}


	/**
	 * 
	 * 方法名：addFestivalAct 新增假日活动
	 * 创建人：RUI
	 * 时间：2017年5月23日-下午3:57:56 
	 * @param czjfestivalact void
	 * @exception 
	 * @since  1.0.0
	 */
	public void addFestivalAct(Czjfestivalact czjfestivalact) {
		
		if(StringUtils.isBlank(czjfestivalact.getFestivalActId())){
			czjfestivalact.setFestivalActId(OrderType.ACTIVITY.getIndex()+ UUIDUtils.getUUID().substring(1,19));
		}
		festivalactMapper.addFestivalAct(czjfestivalact);
	}


	/**
	 * 
	 * 方法名：updateFestivalAct 修改假日活动
	 * 创建人：RUI
	 * 时间：2017年5月23日-下午3:58:23 
	 * @param czjfestivalact void
	 * @exception 
	 * @since  1.0.0
	 */
	public void updateFestivalAct(Czjfestivalact czjfestivalact) {
		
		festivalactMapper.updateFestivalAct(czjfestivalact);
	}


	/**
	 * 
	 * 方法名：deleteCzjfestivalactById 删除假日活动
	 * 创建人：RUI
	 * 时间：2017年5月23日-下午3:58:53 
	 * @param festivalActId void
	 * @exception 
	 * @since  1.0.0
	 */
	public void deleteCzjfestivalactById(List<String> festivalActId) {
		/*Map<String,Object> param=null;
		for(String id:festivalActId){
			if(StringUtils.isNotBlank(id)){
				param= new HashMap<String,Object>();
		  		param.put("festivalActId", id);
				festivalactMapper.deleteCzjfestivalactById(param);
			}
		}*/
		for(String id:festivalActId){
			Czjfestivalact czjfestivalact=new Czjfestivalact();
				czjfestivalact.setExt3(1);
				czjfestivalact.setFestivalActId(id);
				festivalactMapper.updateFestivalAct(czjfestivalact);
			
		}
	}


    public Czjfestivalact queryById(String id) {
		return festivalactMapper.queryById(id);
    }


	public String getFestAndUserStatus(Map<String, Object> param) {
		return festivalactMapper.getFestAndUserStatus(param);
	}

    public List<Czjfestivalact> getListBy(Map<String, Object> param) {
		return festivalactMapper.getListBy(param);

    }

	public void saves(List<Czjfestivalact> czjfestivalactList) {
		festivalactMapper.saves(czjfestivalactList);
	}
	
	public int getSumFest(String festivalActId) {
		return festivalactMapper.getSumFest(festivalActId);
	}


	public List<Map<String, Object>> getAllFest() {
		// TODO Auto-generated method stub
		return festivalactMapper.getAllFest();
	}
}
